home *** CD-ROM | disk | FTP | other *** search
/ Directorty Opus 5 - Magellan 2 / Opus 5 - Magellan 2.iso / Extras / opussdk / include / dopus / popup.h < prev    next >
C/C++ Source or Header  |  1996-08-30  |  2KB  |  51 lines

  1. #ifndef _DOPUS_POPUP
  2. #define _DOPUS_POPUP
  3.  
  4. /*****************************************************************************
  5.  
  6.  Popup menus
  7.  
  8.  *****************************************************************************/
  9.  
  10. // Defines an item in a menu
  11. typedef struct {
  12.     struct MinNode    node;
  13.     char        *item_name;        // Menu item name
  14.     USHORT        id;            // Menu ID
  15.     USHORT        flags;            // Menu item flags
  16.     APTR        data;            // Menu item data
  17. } PopUpItem;
  18.  
  19. #define POPUPF_LOCALE            (1<<0)    // Item name is a locale ID
  20. #define POPUPF_CHECKIT            (1<<1)    // Item can be checked
  21. #define POPUPF_CHECKED            (1<<2)    // Item is checked
  22. #define POPUPF_SUB            (1<<3)    // Item has sub-items
  23. #define POPUPF_DISABLED            (1<<4)    // Item is disabled
  24.  
  25. #define POPUP_BARLABEL            (char *)-1
  26.  
  27. #define POPUP_HELPFLAG            (1<<15)    // Set if help key pressed
  28.  
  29. // Used to declare a callback for a menu
  30. #ifndef REF_CALLBACK
  31. #define REF_CALLBACK(name)    void __asm (*name)(register __d0 ULONG,register __a0 APTR,register __a1 APTR)
  32. #endif
  33.  
  34. // Defines a popup menu
  35. typedef struct {
  36.     struct MinList        item_list;    // List of menu items
  37.     struct DOpusLocale    *locale;    // Locale data
  38.     ULONG            flags;        // Flags
  39.     ULONG            userdata;    // User data
  40.     REF_CALLBACK        (callback);    // Refresh callback
  41. } PopUpMenu;
  42.  
  43. #define POPUPMF_HELP        (1<<0)        // Supports help
  44. #define POPUPMF_REFRESH        (1<<1)        // Use refresh callback
  45. #define POPUPMF_ABOVE        (1<<2)        // Open above parent window
  46.  
  47. USHORT DoPopUpMenu(struct Window *,PopUpMenu *,PopUpItem **,USHORT);
  48. PopUpItem *GetPopUpItem(PopUpMenu *,USHORT);
  49.  
  50. #endif
  51.